<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <title>Library Metadata - Boost C++ Libraries</title>
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
  <link rel="icon" href="/favicon.ico" type="image/ico" />
  <link rel="stylesheet" type="text/css" href=
  "/style-v2/section-development.css" />
  <!--[if IE]> <style type="text/css"> body { behavior: url(/style-v2/csshover.htc); } </style> <![endif]-->
</head>

<body>
  <div id="heading">
    <!--#include virtual="/common/heading.html" -->
  </div>

  <div id="body">
    <div id="body-inner">
      <div id="content">
        <div class="section" id="intro">
          <div class="section-0">
            <div class="section-title">
              <h1>Library Metadata</h1>
            </div>

            <div class="section-body">
              <p>A module can contain an optional file which describes the
              libraries that it contains. This is located at
              <code>meta/libraries.json</code>. It either contains a single
              json object for a single library, or a list or json objects for
              any number of libraries.</p>

              <p>For example, for a single library:</p>
              <pre>
{
    "key": "unordered",
    "name": "Unordered",
    "authors": [ "Daniel James" ],
    "maintainers": [ "Daniel James &lt;dnljms -at- gmail.com&gt;" ],
    "description": "Unordered associative containers.",
    "std": [ "tr1" ],
    "category": [
        "Containers"
    ]
}

</pre>

              <p>An example for multiple libraries:</p>
              <pre>
[
    {
        "key": "functional",
        "name": "Functional",
        "authors": [ "Mark Rodgers" ],
        "description": "The Boost.Function library contains a family of class templates that are function object wrappers.",
        "category": [
            "Function-objects"
        ]
    },
    {
        "key": "functional/factory",
        "name": "Functional/Factory",
        "authors": [ "Tobias Schwinger" ],
        "maintainers": [ "Tobias Schwinger &lt;tschwinger -at- isonews2.com&gt;" ],
        "description": "Function object templates for dynamic and static object creation",
        "documentation": "factory/",
        "category": [
            "Function-objects"
        ]
    },
]

</pre>

              <h2>Json fields</h2>

              <h3>key</h3>

              <p>This is a unique identifier for the library, typically the
              path to it from the <code>libs</code> directory.</p>

              <h3>name</h3>

              <p>Human readable name of the library</p>

              <h3>status</h3>

              <p>Used for libraries with special statuses, currently can have
              value <code>deprecated</code> for deprecated libraries, and
              <code>hidden</code> for libraries which shouldn't be displayed to
              the user.</p>

              <h3>authors</h3>

              <p>Either a string, or a list of strings, containing the names
              of the authors</p>

              <h3>description</h3>

              <p>A brief description of what the library does</p>

              <h3>category</h3>

              <p>A list of categories that the library belongs to, the full
              list is below.</p>

              <h3>documentation</h3>

              <p>Path to the documentation, defaults to the root of the
              module.</p>

              <h3>std</h3>

              <p>A list of the standardization status of the library.
              Currently just supports 'tr1' for included in TR1 and
              'proposal' for a current proposal. Will add more in the
              future..</p>

              <h2>Available categories</h2>

              <dl>
                <dt>String</dt>

                <dd>String and text processing</dd>

                <dt>Containers</dt>

                <dd>Containers</dd>

                <dt>Iterators</dt>

                <dd>Iterators</dd>

                <dt>Algorithms</dt>

                <dd>Algorithms</dd>

                <dt>Function-objects</dt>

                <dd>Function objects and higher-order programming</dd>

                <dt>Generic</dt>

                <dd>Generic Programming</dd>

                <dt>Metaprogramming</dt>

                <dd>Template Metaprogramming</dd>

                <dt>Preprocessor</dt>

                <dd>Preprocessor Metaprogramming</dd>

                <dt>Concurrent</dt>

                <dd>Concurrent Programming</dd>

                <dt>Math</dt>

                <dd>Math and numerics</dd>

                <dt>Correctness</dt>

                <dd>Correctness and testing</dd>

                <dt>Data</dt>

                <dd>Data structures</dd>

                <dt>Domain</dt>

                <dd>Domain Specific</dd>

                <dt>Image-processing</dt>

                <dd>Image processing</dd>

                <dt>IO</dt>

                <dd>Input/Output</dd>

                <dt>Inter-language</dt>

                <dd>Inter-language support</dd>

                <dt>Emulation</dt>

                <dd>Language Features Emulation</dd>

                <dt>Memory</dt>

                <dd>Memory</dd>

                <dt>Parsing</dt>

                <dd>Parsing</dd>

                <dt>Patterns</dt>

                <dd>Patterns and Idioms</dd>

                <dt>Programming</dt>

                <dd>Programming Interfaces</dd>

                <dt>State</dt>

                <dd>State Machines</dd>

                <dt>System</dt>

                <dd>System</dd>

                <dt>Miscellaneous</dt>

                <dd>Miscellaneous</dd>

                <dt>workarounds</dt>

                <dd>Broken compiler workarounds</dd>
              </dl>
            </div>
          </div>
        </div>
      </div>

      <div id="sidebar">
        <!--#include virtual="/common/sidebar-common.html" -->
        <!--#include virtual="/common/sidebar-boost.html" -->
      </div>

      <div class="clear"></div>
    </div>
  </div>

  <div id="footer">
    <div id="footer-left">
      <div id="revised">
        <p>Revised $Date: 2005-12-17 14:32:46 -0500 (Sat, 17 Dec 2005) $</p>
      </div>

      <div id="copyright">
        <p>Copyright Beman Dawes, David Abrahams, 1998-2005.</p>

        <p>Copyright Rene Rivera 2004-2005.</p>
      </div><!--#include virtual="/common/footer-license.html" -->
    </div>

    <div id="footer-right">
      <!--#include virtual="/common/footer-banners.html" -->
    </div>

    <div class="clear"></div>
  </div>
</body>
</html>
